package com.cyt.base.aspect;

import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;

/**
 * 自定义注解  限流
 *
 * @author congcong tao
 * @create 2019/3/17 12:20 PM
 */
@Target({ElementType.PARAMETER, ElementType.METHOD})    
@Retention(RetentionPolicy.RUNTIME)    
@Documented    
public  @interface Limit {

	/**
	 * 每秒向桶中放入令牌的数量   默认100，最大Double.MAX_VALUE即不做限流
	 */
	double value() default 100;

	/**
	 * 获取令牌的等待时间  默认0
	 */
	int timeOut() default 0;

	/**
	 * 超时时间单位
	 */
	TimeUnit timeOutUnit() default TimeUnit.MILLISECONDS;
}
